package com.reliable.service.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 属地研判主表（AI生成 + 警官状态）对象 reliable_jurisdiction_alerts
 *
 * @author ruoyi
 * @date 2025-11-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ToString
@TableName("reliable_jurisdiction_alerts")
public class ReliableJurisdictionAlerts extends  BaseEntitys {

    private static final long serialVersionUID = 1L;

    /** 主键ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 会话ID */
    private String sessionId;

    /** 交易ID，如 8293175196_tx_1 */
    private String transactionId;

    /** 提及的省份，如"广东省" */
    private String mentionedProvinces;

    /** 提及的城市，如"深圳市" */
    private String mentionedCities;

    /** 提及的区县，如"龙华区" */
    private String mentionedDistricts;

    /** 属地研判摘要（80~150字） */
    private String jurisdictionInsight;

    /** 属地线索类型：收货地址/车牌/聊天/混合 */
    private String jurisdictionType;

    /** 交易类型：gold/cash/bank_card 等 */
    private String transactionType;

    /** 受害人是否主动提出金额 */
    private Boolean victimInitiatedAmount;

    /** 精确地点，如"观澜大道178号民都大厦丰巢快递柜" */
    private String exactLocationDetail;

    /** 快递单号 */
    private String logisticsTrackingNo;

    /** 收件人姓名 */
    private String recipientName;

    /** 联系电话 */
    private String contactPhone;

    /** 交付方式：极兔速递、当面交付等 */
    private String deliveryMethod;

    /** 交易金额 */
    private BigDecimal transactionAmount;

    /** 最多3张证据图URL数组 */
    private String evidenceImageUrls;

    /** 最多3张车牌图URL数组 */
    private String vehiclePlateImageUrls;

    /** 交易是否成功 */
    private Boolean isTransactionSuccessful;

    /** 处置状态：0-未接收 1-已接收 2-处置中 3-处理完毕 */
    private Integer handlingStatus;

    /** 分配给警官的 user_id */
    private Long assignedTo;

    /** 警官接收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receivedAt;

    /** 完成处置时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date handledAt;

    /** 处置警官姓名 */
    private String disposalOfficerName;

}